home *** CD-ROM | disk | FTP | other *** search
/ Top 200 Programs / Top 200 Programs.iso / Bob8 / THOMPSON / LIBERTY / PRODUCT / LB14W.EXE / SLOTMACH.BAS < prev    next >
BASIC Source File  |  1997-03-25  |  2KB  |  75 lines

  1.  
  2.     'slotmach.bas - a sample program for Liberty BASIC v1.3
  3.  
  4.     'Here is a simple slot machine demo created by Carl Gundel
  5.     'Copyright 1997 Shoptalk Systems
  6.     'Feel free to use this code in any Liberty BASIC project
  7.  
  8.     loadbmp "cherry", "bmp\cherry.bmp"
  9.     loadbmp "bar", "bmp\bar.bmp"
  10.     loadbmp "lemon", "bmp\lemon.bmp"
  11.  
  12.     'Store our bitmap names in a repeating pattern
  13.     dim images$(57)
  14.     for x = 1 to 55 step 3
  15.         images$(x) = "bar"
  16.         images$(x+1) = "cherry"
  17.         images$(x+2) = "lemon"
  18.     next x
  19.  
  20.     'Here is our window code
  21.     WindowWidth = 360
  22.     WindowHeight = 255
  23.     graphicbox #main.gb1, 22, 61, 88, 65
  24.     graphicbox #main.gb2, 134, 61, 88, 65
  25.     graphicbox #main.gb3, 238, 61, 88, 65
  26.     button #main, "Pull", [pullLever], UL, 278, 186, 56, 25
  27.     open "Slot Machine" for window_nf as #main
  28.     print #main, "trapclose [quit]"
  29.  
  30.  
  31. [mainLoop]  'Main input loop
  32.  
  33.   input r$
  34.   goto [mainLoop]
  35.  
  36.  
  37. [pullLever]   'the user pulled the lever
  38.  
  39.  
  40.     'Put your animation code in here.
  41.     'Make sure your playwave command is asynchronous so
  42.     'that the sound plays during the animation.
  43.  
  44.     delay = 0
  45.     for x = 1 to 55
  46.         print #main.gb1, "drawbmp "; images$(x); " 0 0"
  47.         print #main.gb2, "drawbmp "; images$(x+1); " 0 0"
  48.         print #main.gb3, "drawbmp "; images$(x+2); " 0 0"
  49.         delay = delay + 15 'as delay gets larger, we get slower
  50.         for y = 1 to delay : next y
  51.     next x
  52.  
  53.     'After the animation, pick the final state of our machine.
  54.     'By picking from 1 to 5, we make getting bar-bar-bar less likely.
  55.     item1$ = images$(int(rnd(1)*5)+1)
  56.     item2$ = images$(int(rnd(1)*5)+1)
  57.     item3$ = images$(int(rnd(1)*5)+1)
  58.     'Now draw our random selections.
  59.     'The cls is to free Windows metafile resources.
  60.     print #main.gb1, "cls ; drawbmp "; item1$; " 0 0"
  61.     print #main.gb2, "cls ; drawbmp "; item2$; " 0 0"
  62.     print #main.gb3, "cls ; drawbmp "; item3$; " 0 0"
  63.     print #main.gb1, "flush"
  64.     print #main.gb2, "flush"
  65.     print #main.gb3, "flush"
  66.  
  67.     'Put some code in here to figure winnings.
  68.  
  69.     goto [mainLoop]
  70.  
  71. [quit]
  72.  
  73.     close #main
  74.     end
  75.